Paul Eggert [Tue, 15 Jan 2019 18:18:45 +0000 (10:18 -0800)]
Fix accept-process-output/process-live-p confusion
* doc/lispref/processes.texi (Accepting Output):
Document the issue.
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
* lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
* lisp/net/tramp.el (tramp-interrupt-process):
* test/src/process-tests.el (make-process/mix-stderr):
Fix code that uses accept-process-output and process-live-p.
Add FIXME comments as necessary.
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
* lisp/net/tramp.el (tramp-action-out-of-band):
Add FIXME comments as necessary.
Alan Mackenzie [Tue, 15 Jan 2019 15:54:02 +0000 (15:54 +0000)]
Make CC Mode and electric-pair-mode work together. This fixes bug #33794
* lisp/progmodes/cc-cmds.el (c-electric-pound, c-electric-slash)
(c-electric-star, c-electric-semi&comma, c-electric-colon, c-electric-lt-gt):
Bind post-self-insert-hook to nil around calls to self-insert-command to
protect against arbitrary functionality confusing CC Mode.
(c-do-brace-electrics): New function, extracted from c-electric-brace and
enhanced.
(c-electric-brace): Bind post-self-insert-hook to nil around the call to
self-insert-command. When electric-pair-mode is configured, call
electric-pair-post-self-insert-function. Handle any deletion done by this
function. Call c-do-brace-electrics for the inserted brace, and perhaps for a
brace inserted by electric-pair-self-insert-function.
(c-electric-paren): Bind post-self-insert-hook to nil around the call to
self-insert-command. When electric-pair-mode is configured, call
electric-pair-post-self-insert-function.
Philipp Stephani [Wed, 2 Jan 2019 21:01:54 +0000 (22:01 +0100)]
Disable electric quotes for most files in the Emacs codebase.
* .dir-locals.el: Disable electric quotes in comments and strings for
C, Emacs Lisp, and Texinfo, as the Emacs codebase doesn't use them.
Stefan Monnier [Mon, 14 Jan 2019 20:11:45 +0000 (15:11 -0500)]
* lisp/emacs-lisp/package.el (package-activate-all): Fix last change
Stefan Monnier [Mon, 14 Jan 2019 20:10:14 +0000 (15:10 -0500)]
* lisp/emacs-lisp/package.el (package-activate-all): Silence load msg
João Távora [Mon, 14 Jan 2019 12:46:34 +0000 (12:46 +0000)]
Fix icomplete's cycling when filename filtering kicks in
Fixes: bug#34070
* lisp/icomplete.el (icomplete--filtered-completions): New variable.
(icomplete-forward-completions, icomplete-backward-completions):
Use it.
(icomplete-completions): Set it.
Robert Pluim [Fri, 11 Jan 2019 16:45:25 +0000 (17:45 +0100)]
Improve some of the breve/caron/cedilla mappings
* lisp/leim/quail/latin-pre.el ("latin-prefix"): Describe new 'c with
cedilla mapping'. Extend caron description. Correct dot above
description. Add new mappings for 'a with breve' and 'c with caron'.
Add additional mapping for 'c with cedilla'. Delete ~o mapping for 'g
with dot above'.
Robert Pluim [Fri, 11 Jan 2019 16:34:33 +0000 (17:34 +0100)]
Fix some breve and dot above related doc strings
* lisp/leim/quail/latin-pre.el ("romanian-prefix"): Correct
description of 'a with breve'.
("romanian-alt-prefix"): Correct description of 'a
with breve'. Reformat other entries for consistency.
("latin-3-prefix"): Correct 'dot above' description.
Paul Eggert [Sun, 13 Jan 2019 23:45:14 +0000 (15:45 -0800)]
Fix translation-region bug with MAX_CHAR
Also, clean up the code a bit.
Actually I discovered the bug while cleaning up the code.
* src/editfns.c (Fsubst_char_in_region)
(Ftranslate_region_internal): Use bool for booleans.
(Ftranslate_region_internal): Fix off-by-1 bug when a
translation table translates the maximum char. Assume C99
decl-after-statement, similar minor cleanups.
* test/src/editfns-tests.el (test-translate-region-internal):
New test.
Paul Eggert [Sun, 13 Jan 2019 22:34:01 +0000 (14:34 -0800)]
Minor overflow fix in translate-region-internal
* src/editfns.c (Ftranslate_region_internal):
Use ptrdiff_t, not int, for a count that might exceed INT_MAX.
Pierre Téchoueyres [Sat, 1 Dec 2018 00:20:45 +0000 (01:20 +0100)]
Check that feature exist in `sql-set-product-feature' (Bug#30494).
* lisp/progmodes/sql.el (sql-set-product-feature): Add test for
feature existence.
Glenn Morris [Fri, 11 Jan 2019 23:53:10 +0000 (18:53 -0500)]
Remove some obsolete stub files from etc/
* etc/CENSORSHIP, etc/FTP, etc/GNU, etc/LINUX-GNU, etc/MORE.STUFF:
* etc/ORDERS, etc/THE-GNU-PROJECT, etc/WHY-FREE:
Remove stub files that were marked obsolete 5 years ago.
Martin Rudalics [Fri, 11 Jan 2019 09:02:47 +0000 (10:02 +0100)]
Run window change functions during redisplay
* doc/lispref/windows.texi (Window Sizes): Move (and rename)
descriptions of 'window-pixel-height-before-size-change' and
'window-pixel-width-before-size-change' to Window Hooks
section.
(Window Configurations): Remove warning against use of
'save-window-excursion' in 'window-size-change-functions'.
(Window Hooks): Rewrite section according to redesign of
window change functions.
* lisp/erc/erc-track.el (erc-window-configuration-change)
(erc-modified-channels-update): Call latter directly from
'window-configuration-change-hook' instead via
'post-command-hook'.
* lisp/frame.el (frame-size-changed-p): Change nomenclature
in let bindings.
* lisp/net/rcirc.el (rcirc-window-configuration-change)
(rcirc-window-configuration-change-1): Call latter directly
from 'window-configuration-change-hook' instead via
'post-command-hook'.
* lisp/window.el (window-pixel-width-before-size-change)
(window-pixel-height-before-size-change): Defalias.
(window--resize-mini-window, window-resize)
(adjust-window-trailing-edge, delete-window)
(delete-other-windows, balance-windows): Don't run
'window-configuration-change-hook' any more from here.
(split-window): Don't run 'window-configuration-change-hook'
from here. 'run-window-scroll-functions' from here.
(window--adjust-process-windows): Run from
'window-configuration-change-hook' only.
* src/frame.c (old_selected_frame): New Lisp variable.
(make_frame): Initialize frame's change_stamp slot.
(Fold_selected_frame): New function.
* src/frame.h (struct frame): New slots old_selected_window,
window_change, change_stamp and number_of_windows.
(fset_old_selected_window): New inlined function.
(FRAME_WINDOW_CHANGE, FRAME_OLD_SELECTED_WINDOW): New macros.
* src/window.c (old_selected_window): New Lisp variable.
(wset_old_buffer): New inlined function.
(Fframe_old_selected_window, Fold_selected_window)
(Fwindow_old_buffer): New functions.
(Fwindow_old_pixel_width, Fwindow_old_pixel_height): Rename
from Fwindow_pixel_width_before_size_change and
Fwindow_pixel_height_before_size_change. Update doc-strings.
(Fwindow_old_body_pixel_width, Fwindow_old_body_pixel_height):
New functions.
(Fdelete_other_windows_internal): Set frame's window_change
slot instead of running 'window-configuration-change-hook'.
(Frun_window_configuration_change_hook): In doc-string tell
that this function is no more needed.
(Frun_window_scroll_functions): Amend doc-string. Run with
window's buffer current.
(window_sub_list, window_change_record_windows)
(window_change_record_frame, window_change_record)
(run_window_change_functions_1, run_window_change_functions):
New functions.
(set_window_buffer): Set frame's window_change slot instead of
running 'window-configuration-change-hook'.
(make_window): Don't initialize pixel_width_before_size_change
and pixel_height_before_size_change slots.
(window_resize_apply, Fdelete_window_internal): Set frame's
window_change slot.
(Fsplit_window_internal): Set frame's window_change slot.
Don't run 'window-scroll-functions' from here.
* src/window.h (struct window): New slots old_buffer,
change_stamp, old_pixel_width (renamed from
pixel_width_before_size_change), old_pixel_height (renamed
from pixel_height_before_size_change), old_body_pixel_width
and old_body_pixel_height.
* src/xdisp.c (init_iterator): Set frame's window_change slot
when the body height or width changes.
(prepare_menu_bars): Don't run_window_size_change_functions.
(redisplay_internal): Don't run_window_size_change_functions,
run_window_change_functions instead.
Paul Eggert [Fri, 11 Jan 2019 05:35:31 +0000 (21:35 -0800)]
List lengths are always fixnums now
Without this patch, it was theoretically possible for a list
length to be a bignum, which means that safe-length could
signal an error (due to generating a too-large bignum) contrary
to its documentation. Fix things to remove the theoretical
possibility, so that list lengths are always fixnums (and so
that list lenghts are always ptrdiff_t values too, since that
is assumed internally anyway).
* src/alloc.c (Fcons): Do not allocate so many conses that
a list length won’t fit into ptrdiff_t or into fixnum.
This matters only on weird platforms; on typical platforms,
list lengths always fit anyway.
* src/fns.c (list_length, Fsafe_length, proper-list-p):
Remove integer overflow checks that are no longer needed.
Paul Eggert [Thu, 10 Jan 2019 23:29:21 +0000 (15:29 -0800)]
Minor tweaks to HAVE_NATIVE_SCALING code
This mostly just reindents.
* src/image.c (x_set_image_size): Always define, but to a no-op
if !HAVE_NATIVE_SCALING, to avoid an #ifdef elsewhere.
(x_create_x_image_and_pixmap): Move decl to avoid an #ifdef.
(image_create_x_image_and_pixmap): Move #ifdef outside of call.
* src/xterm.c (x_composite_image): Avoid ‘else #endif’.
Alan Third [Wed, 2 Jan 2019 21:00:09 +0000 (21:00 +0000)]
Add native image scaling (bug#33587)
* configure.ac: Test for XRender outside of xft checks.
* src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
xft libs.
* lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
native scaling is available.
* src/dispextern.h: Add XRender and image scaling stuff.
(struct image): Add XRender Pictures.
* src/image.c (x_create_bitmap_mask):
(image_create_x_image_and_pixmap): Handle XRender Picture.
(scale_image_size):
(compute_image_size): Make available when any form of scaling is
enabled.
(x_set_image_size): New function.
(lookup_image): Set image size.
(x_create_x_image_and_pixmap): Create XRender Picture when necessary.
(x_put_x_image): Handle the case where desired size != actual size.
(free_image): Free XRender Pictures.
(Fimage_scaling_p): New function.
(syms_of_image): Add image-scaling-p.
* src/nsimage.m (ns_load_image): Remove NS specific resizing.
([EmacsImage setSizeFromSpec:]): Remove method.
(ns_image_set_size): New function.
* src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
the same compositing functions, so remove unnecessary difference.
* src/xterm.c (x_composite_image): New function.
(x_draw_image_foreground): Use new x_composite_image function.
* doc/lispref/display.texi (Image Descriptors): Document
image-scaling-p and add resizing descriptors.
(ImageMagick Images): Remove resizing descriptors.
Alan Third [Sat, 5 Jan 2019 16:11:37 +0000 (16:11 +0000)]
Fix drag and drop behaviour on NS (bug#30929)
* doc/emacs/macos.texi (Mac / GNUstep Events): Describe the new drag
and drop behaviour.
* lisp/term/ns-win.el (ns-drag-n-drop): Handle the new event format.
(ns-drag-n-drop-other-frame):
(ns-drag-n-drop-as-text):
(ns-drag-n-drop-as-text-other-frame): Remove functions and key
bindings.
* src/nsterm.m ([EmacsView performDragOperation:]): Send Emacs event
in new format without setting any modifiers.
Michael Albinus [Thu, 10 Jan 2019 12:27:34 +0000 (13:27 +0100)]
New test custom--test-theme-variables
* test/lisp/custom-tests.el (custom--test-user-option)
(custom--test-variable): New variables.
(custom--test-theme-variables): New test.
* test/lisp/custom-resources/custom--test-theme.el (custom--test):
New file.
Martin Rudalics [Thu, 10 Jan 2019 10:02:17 +0000 (11:02 +0100)]
Handle dedicated status in 'window--display-buffer' (Bug#33870)
* lisp/window.el (display-buffer-record-window): Rewrite
doc-string.
(window--display-buffer): Remove fifth argument DEDICATED and
either directly use a 'dedicated' entry in ALIST or the value
of 'display-buffer-mark-dedicated' instead.
(display-buffer-in-atom-window, display-buffer-use-some-frame)
(display-buffer-pop-up-frame, display-buffer-pop-up-window)
(display-buffer-below-selected, display-buffer-at-bottom):
Adjust callers of 'window--display-buffer'.
(window--make-major-side-window)
(display-buffer-in-side-window): Handle dedicated status of
the chosen side window via a 'dedicated' alist entry and
adjust 'window--display-buffer' call.
(display-buffer-in-child-frame): Set up TYPE correctly for and
adjust 'window--display-buffer' call.
(display-buffer-in-previous-window): Handle dedicated status
of a previous window already showing BUFFER.
* doc/lispref/windows.texi (Buffer Display Action Alists): New
action alist entry 'dedicated'.
(Dedicated Windows): Mention new buffer display action alist
entry 'dedicated'.
* etc/NEWS: Mention new buffer display action alist entry
'dedicated'.
Paul Eggert [Thu, 10 Jan 2019 00:16:46 +0000 (16:16 -0800)]
Mention Japanese change in documentation
Yasuhiro KIMURA [Wed, 9 Jan 2019 23:44:10 +0000 (15:44 -0800)]
Change preferred Japanese coding system to UTF-8
* lisp/language/japan-util.el (setup-japanese-environment-internal):
Use utf-8 as preferred coding system instead of japanese-iso-8bit when
system is not MS-Windows. And while I'm at it, fix comment to fit current
implementation. (Bug#28705)
Copyright-paperwork-exempt: yes.
Paul Eggert [Wed, 9 Jan 2019 17:52:38 +0000 (09:52 -0800)]
Use shortcuts for Flength
When calculating the length of a Lisp object whose type is
known, use a specialized length operation on it to save a bit
of runtime overhead.
* src/callint.c (Fcall_interactively):
* src/minibuf.c (read_minibuf_unwind):
Use ASIZE rather than Flength on values that must be vectors.
* src/charset.c (Fsort_charsets):
* src/coding.c (detect_coding_sjis):
(Fdefine_coding_system_internal):
* src/data.c (wrong_choice):
* src/eval.c (Flet, eval_sub, Fapply, apply_lambda):
* src/fns.c (sort_list):
* src/font.c (font_vconcat_entity_vectors)
(font_find_for_lface):
* src/frame.c (Fmodify_frame_parameters):
* src/fringe.c (get_logical_fringe_bitmap):
* src/ftfont.c (ftfont_get_open_type_spec):
* src/gtkutil.c (xg_print_frames_dialog):
* src/lread.c (read1, read_vector):
* src/keymap.c (Fkey_description):
* src/kqueue.c (Fkqueue_add_watch):
* src/macfont.m (macfont_get_open_type_spec):
* src/menu.c (parse_single_submenu, x_popup_menu_1):
* src/minibuf.c (Finternal_complete_buffer):
* src/nsfont.m (ns_findfonts, nsfont_list_family):
* src/process.c (Fmake_process):
* src/search.c (Fset_match_data):
* src/xfaces.c (Fx_family_fonts):
Use list_length rather than Flength on values that must be lists.
* src/fns.c (list_length): New function.
(Flength): Use it.
* src/nsfont.m (ns_findfonts):
Use !NILP (x) rather than XFIXNUM (Flength (x)) != 0.
* src/xdisp.c (store_mode_line_string):
Use SCHARS rather than Flength on values that must be strings.
Stefan Monnier [Tue, 8 Jan 2019 18:38:17 +0000 (13:38 -0500)]
* src/window.c (save_window_save): Revert part of
d82e73f
...made unnecessary by
a058edae.
Paul Eggert [Tue, 8 Jan 2019 18:25:50 +0000 (10:25 -0800)]
* admin/notes/unicode: Update to match recent changes.
Stefan Monnier [Tue, 8 Jan 2019 16:49:17 +0000 (11:49 -0500)]
* lisp/emacs-lisp/map.el: Prepare for addition to GNU ELPA
Stefan Monnier [Tue, 8 Jan 2019 16:28:00 +0000 (11:28 -0500)]
* lisp/help-fns.el (help--load-prefixes): Demote errors from files.
Michael Albinus [Tue, 8 Jan 2019 14:03:57 +0000 (15:03 +0100)]
Fix nasty cut'n'waste error in Tramp
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Remove weird code, resulting from cut'n'waste.
Michael Albinus [Tue, 8 Jan 2019 08:21:07 +0000 (09:21 +0100)]
Adapt .gitlab-ci.yml
* .gitlab-ci.yml (variables): Move outside jobs. Use
"GIT_STRATEGY: fetch".
(before_script): Install git.
(test-all): Rename from test. Install inotify-tools. Run "make
check-expensive".
(test-filenotify-gio): New job.
Leo Liu [Tue, 8 Jan 2019 04:37:22 +0000 (12:37 +0800)]
* lisp/progmodes/js.el: Remove unused (require 'thingatpt).
Stefan Monnier [Tue, 8 Jan 2019 02:18:40 +0000 (21:18 -0500)]
Use utf-8 coding system for all our Elisp files
* lisp/international/ja-dic-cnv.el:
* lisp/international/ja-dic-utl.el:
* lisp/international/kinsoku.el:
* lisp/international/kkc.el:
* lisp/language/japan-util.el:
* lisp/language/japanese.el:
* lisp/leim/quail/cyril-jis.el:
* lisp/leim/quail/hanja-jis.el:
* lisp/leim/quail/japanese.el:
* lisp/leim/quail/py-punct.el:
* lisp/leim/quail/pypunct-b5.el: Use utf-8 coding system.
* lisp/international/titdic-cnv.el: Use utf-8-emacs coding system.
Stefan Monnier [Tue, 8 Jan 2019 01:49:26 +0000 (20:49 -0500)]
* lisp/international/titdic-cnv.el: Save generated files with utf-8
(titdic-convert, miscdic-convert): Use utf-8 when writing and don't
bother putting a `coding:` tag since utf-8 is the default anyway.
Glenn Morris [Mon, 7 Jan 2019 20:03:13 +0000 (15:03 -0500)]
; ChangeLog fix
ref http://lists.gnu.org/r/emacs-devel/2019-01/msg00076.html
Glenn Morris [Mon, 7 Jan 2019 19:51:38 +0000 (11:51 -0800)]
; Merge from origin/emacs-26
The following commits were skipped:
13b586d (origin/emacs-26) Adapt filenotify-tests for emba
d8525ae (tag: emacs-26.1.91) Bump Emacs version to 26.1.91
Glenn Morris [Mon, 7 Jan 2019 19:51:38 +0000 (11:51 -0800)]
Merge from origin/emacs-26
f1ce72b ; ChangeLog.3 update
5b59cf0 * etc/AUTHORS: Update.
2cf20b6 * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell. (Bug...
# Conflicts:
# ChangeLog.3
# lisp/textmodes/mhtml-mode.el
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
; Merge from origin/emacs-26
The following commits were skipped:
99e2ad9 Improve GC+Cairo workaround
e0862ed Work around GC+Cairo bug
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
Merge from origin/emacs-26
0ecff00 Improve commentary in font.h
a058eda Fix definition of Qwindow_point_insertion_type (Bug#33871)
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
; Merge from origin/emacs-26
The following commit was skipped:
7755173 Improve documentation of 'server-name'
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
Merge from origin/emacs-26
5f2aa32 Update Unicode copyright notice
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
; Merge from origin/emacs-26
The following commits were skipped:
08840f2 Handle quoted file names in filenotify.el
e0870c3 ; Auto-commit of loaddefs files.
Michael Albinus [Mon, 7 Jan 2019 16:07:19 +0000 (17:07 +0100)]
Adapt filenotify-tests for emba
* .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
Michael Albinus [Mon, 7 Jan 2019 15:59:43 +0000 (16:59 +0100)]
; Format filenotify-tests.el
Nicolas Petton [Mon, 7 Jan 2019 14:37:10 +0000 (15:37 +0100)]
Bump Emacs version to 26.1.91
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 26.1.91.
Nicolas Petton [Mon, 7 Jan 2019 14:36:57 +0000 (15:36 +0100)]
; ChangeLog.3 update
Nicolas Petton [Mon, 7 Jan 2019 14:35:02 +0000 (15:35 +0100)]
* etc/AUTHORS: Update.
Michael Albinus [Mon, 7 Jan 2019 13:04:17 +0000 (14:04 +0100)]
Adapt tests for emba
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
Paul Eggert [Mon, 7 Jan 2019 05:59:03 +0000 (21:59 -0800)]
Minor INFINITY/NAN cleanup
* src/lread.c (INFINITY): Use a more-portable way to specify
this macro on non-C99 platforms that lack it.
(NAN): Remove; unused.
Paul Eggert [Mon, 7 Jan 2019 00:23:41 +0000 (16:23 -0800)]
Fix logb on zero, infinite, NaN args
Change logb to return -infinity, +infinity, and NaN respectively.
Formerly logb returned an extreme fixnum to represent
infinity, but this is no longer the right thing to do now that
we have bignums and there is no extreme integer.
* doc/lispref/numbers.texi (Float Basics), etc/NEWS: Document.
* src/floatfns.c (Flogb): Implement this.
Leo Liu [Sun, 6 Jan 2019 23:22:45 +0000 (07:22 +0800)]
* lisp/textmodes/mhtml-mode.el: Avoid loading flyspell. (Bug#33939)
Paul Eggert [Sun, 6 Jan 2019 19:14:59 +0000 (11:14 -0800)]
Use integers for syntax-pps-stats
* lisp/emacs-lisp/syntax.el (syntax-ppss-stats):
Use integers, not floating-point, for stats, now that integers are
unbounded. Almost always these should be fixnums. Add 1 to last
slot’s car so that this addition need not be done at runtime.
(syntax-pps-stats, syntax-ppss): Use integers for calculations.
(syntax-ppss--update-stats): New convenience function.
(syntax-ppss): Use it.
Michael Albinus [Sun, 6 Jan 2019 14:42:57 +0000 (15:42 +0100)]
Adapt filenotify-tests for emba
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
Paul Eggert [Sat, 5 Jan 2019 17:47:14 +0000 (09:47 -0800)]
Port to platforms where tputs is in libtinfow
* configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).
João Távora [Sat, 5 Jan 2019 12:12:00 +0000 (12:12 +0000)]
New flymake-supress-zero-counters defcustom
A feature suggested by Yuri Khan <yurivkhan@gmail.com>.
* lisp/progmodes/flymake.el (flymake-suppress-zero-counters): New
variable. (flymake--mode-line-format): Use it.
João Távora [Fri, 4 Jan 2019 22:45:29 +0000 (22:45 +0000)]
Fix Flymake tests for GCC 8.2.0
Fixes: bug#33872
"Now you have two problems..."
* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
Adjust regexp.
John Shahid [Fri, 4 Jan 2019 21:28:35 +0000 (21:28 +0000)]
Unbreak Flymake's diagnostics buffer when revisiting source
Fixes: bug#33881
Copyright-paperwork-exempt: yes
* lisp/progmodes/flymake.el (flymake-show-diagnostics-buffer):
Set flymake--diagnostics-buffer-source before reverting.
Paul Eggert [Wed, 4 Apr 2018 17:59:09 +0000 (10:59 -0700)]
Improve GC+Cairo workaround
Suggested by Eli Zaretskii (Bug#20890#31).
* src/font.h (font_data_structures_may_be_ill_formed): New function.
* src/ftfont.c (ftfont_close):
* src/ftcrfont.c (ftcrfont_close): Use it.
(cherry picked from commit
d02fd482fbeaf6ed551e78223b538495cb0c3541)
Paul Eggert [Tue, 3 Apr 2018 15:24:10 +0000 (08:24 -0700)]
Work around GC+Cairo bug
Workaround suggested by Robert Pluim (Bug#20890#13).
* src/ftfont.c (ftfont_close) [USE_CAIRO]:
Do nothing if GC is in progress.
Drew Adams [Sun, 30 Dec 2018 19:37:28 +0000 (11:37 -0800)]
Don't signal error from "C-x C-k l" about mouse events
* lisp/edmacro.el (edmacro-fix-menu-commands): Ignore mouse
events instead of signaling an error. Display unsupported
events in the error message. (Bug#33930)
Joel Rosdahl [Thu, 27 Dec 2018 15:52:07 +0000 (16:52 +0100)]
Fix electric indent bug in python-mode after dedenting colon
* list/progmodes/python.el (python-indent-post-self-insert-function):
Use markers instead of positions when reindenting statement(s) after
inserting electric colon to avoid reindenting too many
statements (bug#22663).
* test/lisp/progmodes/python-tests.el (python-indent-electric-colon-2):
Improve test case to also verify the fix of bug#22663.
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 5 Jan 2019 08:28:34 +0000 (10:28 +0200)]
Improve commentary in font.h
* src/font.h (struct font, struct font_driver): Fix typos and
wording in comments. Document all driver methods.
Martin Rudalics [Fri, 4 Jan 2019 16:34:00 +0000 (17:34 +0100)]
Fix definition of Qwindow_point_insertion_type (Bug#33871)
* src/window.c (Qwindow_point_insertion_type): Fix definition
(Bug#33871).
Eli Zaretskii [Fri, 4 Jan 2019 13:55:59 +0000 (15:55 +0200)]
Improve documentation of 'server-name'
* doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
(emacsclient Options):
* lisp/server.el (server-name): Document the usage of
'server-name' to specify the server file as an absolute file
name. (Bug#33934)
Eli Zaretskii [Fri, 4 Jan 2019 13:40:43 +0000 (15:40 +0200)]
Improve documentation of 'server-name'
* doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
(emacsclient Options):
* lisp/server.el (server-name): Document the usage of
'server-name' to specify the server file as an absolute file
name. Do not merge to master. (Bug#33934)
Eli Zaretskii [Fri, 4 Jan 2019 08:48:01 +0000 (10:48 +0200)]
Update Unicode copyright notice
* admin/unidata/copyright.html: Updated version from the
Unicode Consortium's site.
Michael Albinus [Thu, 3 Jan 2019 17:55:11 +0000 (18:55 +0100)]
Mark some filenotify tests unstable on emba
* .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Mark them as
:unstable on emba.
Michael Albinus [Thu, 3 Jan 2019 14:37:53 +0000 (15:37 +0100)]
Adapt test/README
* test/README: Speak about continous integration tests on hydra
and emba.
Andrey Kotlarski [Thu, 3 Jan 2019 12:07:05 +0000 (14:07 +0200)]
Fix EBROWSE parsing of classes declared final.
Philipp Stephani [Wed, 2 Jan 2019 17:56:49 +0000 (18:56 +0100)]
Avoid a compiler warning on macOS.
* src/xdisp.c (expose_window_tree): Define variable f only if used.
Nicolas Petton [Wed, 2 Jan 2019 17:39:57 +0000 (18:39 +0100)]
; Move the section about seq.el to the correct place.
Nicolas Petton [Wed, 2 Jan 2019 17:37:41 +0000 (18:37 +0100)]
; Formatting fix in etc/NEWS
Nicolas Petton [Wed, 2 Jan 2019 17:36:27 +0000 (18:36 +0100)]
Document the new functions of seq.el
* etc/NEWS: New section documenting the addition of `seq-first' and
`seq-rest'.
João Távora [Fri, 21 Dec 2018 18:00:08 +0000 (18:00 +0000)]
Extend electric-layout-mode to handle more complex layouts (bug#33794)
Entries in electric-layout-rules can specify multiple
newline-related actions which are executed in order of appearance.
Also, have it play nice with electric-pair-mode when inserting a
newlines, particularly with electric-pair-open-newline-between-pairs.
Entries in electric-layout-rules can also be functions. Among other
things, the logic behind electric-pair-open-newline-between-pairs
could now be moved to electric-layout-mode, but this commit doesn't do
that yet.
This change was motivated by bug#33794 and is an alternative solution
to the problem reported in that bug.
* lisp/electric.el (electric-layout-rules): Adjust docstring.
(electric-layout-post-self-insert-function): Call
electric-layout-post-self-insert-function-1.
(electric-layout-post-self-insert-function-1): Rename from
electric-layout-post-self-insert-function. Redesign.
(electric-layout-local-mode): New minor mode.
* test/lisp/electric-tests.el (electric-layout-int-main-kernel-style)
(electric-layout-int-main-allman-style)
(electric-modes-in-c-mode-with-self-insert-command)
(electric-pair-mode-newline-between-parens)
(electric-layout-mode-newline-between-parens-without-e-p-m)
(electric-layout-mode-newline-between-parens-without-e-p-m-2): New
tests.
(plainer-c-mode): New helper.
Michael Albinus [Fri, 26 Jan 2018 10:57:41 +0000 (11:57 +0100)]
Handle quoted file names in filenotify.el
* lisp/filenotify.el (file-notify-add-watch): Do not save
quoted file names in `file-notify-descriptors'.
* test/lisp/files-tests.el
(files-file-name-non-special-notify-handlers): Do not expect
to fail.
Paul Eggert [Tue, 1 Jan 2019 23:13:22 +0000 (15:13 -0800)]
Don’t limit range error reports to fixnums
* src/lisp.h (CHECK_RANGED_INTEGER): When signaling an error,
don’t arbitrarily limit the reported valid range to fixnums.
Paul Eggert [Tue, 1 Jan 2019 23:06:50 +0000 (15:06 -0800)]
Bignums from garbage-collect, memory-use-counts
Do not limit the results of garbage-collect and memory-use-counts
to fixnums, as they might be bignums now on 32-bit hosts.
* src/lisp.h (byte_ct): New type.
* src/alloc.c (object_ct): New type.
(consing_since_gc, gc_relative_threshold)
(memory_full_cons_threshold, total_string_bytes):
Now byte_ct, not EMACS_INT.
(total_conses, total_symbols, total_buffers, total_free_conses)
(total_free_symbols, total_free_floats, total_floats)
(total_free_intervals, total_intervals, total_strings)
(total_free_strings, total_vectors, total_vector_slots)
(total_free_vector_slots): Now object_ct, not EMACS_INT.
(bounded_number): Remove. All uses removed.
(object_bytes): New function.
(total_bytes_of_live_objects, garbage_collect_1): Use byte_ct,
not size_t, to count total GC bytes where multiple objects are
involved.
(garbage_collect_1, Fmemory_use_counts):
Do not limit returned counts to fixnums.
(sweep_conses, sweep_floats, sweep_intervals, sweep_symbols):
Use object_ct, not EMACS_INT, to count GC objects.
Paul Eggert [Tue, 1 Jan 2019 19:41:16 +0000 (11:41 -0800)]
Be consistent about list length fixnum overflow
* src/fns.c (Flength, Fproper_list_p): Use overflow_error to
report the (typically impossible) fixnum overflow.
Paul Eggert [Tue, 1 Jan 2019 19:35:17 +0000 (11:35 -0800)]
Fix woman.el to not confuse scan-sexps
* lisp/woman.el (woman-unpadded-space-char):
Escape the close-bracket (Bug#33940).
Paul Eggert [Tue, 1 Jan 2019 19:33:10 +0000 (11:33 -0800)]
decode-time: allow bignum years
* src/timefns.c (TM_YEAR_BASE):
Now a constant as it need not be a macro.
(Fdecode_time): Do not signal an overflow merely because the
Gregorian year number does not fix in a fixnum (which can
happen on hosts with 64-bit time_t and with 32-bit int and
EMACS_INT).
Glenn Morris [Tue, 1 Jan 2019 12:24:58 +0000 (07:24 -0500)]
; Auto-commit of loaddefs files.
Glenn Morris [Tue, 1 Jan 2019 11:25:23 +0000 (06:25 -0500)]
; Auto-commit of loaddefs files.
Paul Eggert [Tue, 1 Jan 2019 07:07:33 +0000 (23:07 -0800)]
Fix integer overflow check in json code
* src/json.c (json_to_lisp): Check for ptrdiff_t overflow,
not fixnum overflow.
Paul Eggert [Tue, 1 Jan 2019 02:41:28 +0000 (18:41 -0800)]
Update more copyright years
Update some other copyright years automatically, by running:
Run 'UPDATE_COPYRIGHT_YEAR=2019 \
UPDATE_COPYRIGHT_USE_INTERVALS=1 \
UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 admin/update-copyright'
followed by 'admin/merge-gnulib'.
Paul Eggert [Tue, 1 Jan 2019 02:19:36 +0000 (18:19 -0800)]
Update from Gnulib
This incorporates mostly just copyright-year changes, plus
recent minor updates from glibc for the non-Emacs regular
expression code.
Paul Eggert [Tue, 1 Jan 2019 01:57:29 +0000 (17:57 -0800)]
Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height. (Bug#33921)
Paul Eggert [Tue, 1 Jan 2019 01:12:10 +0000 (01:12 +0000)]
Remove UCHAR typedef
* src/lisp.h (_UCHAR_T, UCHAR): Remove. This workaround for
circa-1993 old-AIX has evidently not been needed for decades.
Tested on AIX 7.1, the oldest AIX version IBM still supports.
Paul Eggert [Tue, 1 Jan 2019 01:02:40 +0000 (01:02 +0000)]
Fix copyright years by hand
These are dates that admin/update-copyright did not update, or
updated incorrectly.
Paul Eggert [Tue, 1 Jan 2019 00:59:58 +0000 (00:59 +0000)]
Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
Eli Zaretskii [Mon, 31 Dec 2018 15:52:01 +0000 (17:52 +0200)]
* doc/man/emacs.1.in: Fix value of default frame height. (Bug#33921)
Michael Albinus [Mon, 31 Dec 2018 14:11:09 +0000 (15:11 +0100)]
Reset `tramp-default-proxies-alist' in case of errors
* lisp/net/tramp-sh.el (tramp-compute-multi-hops):
Reset `tramp-default-proxies-alist' in case of errors.
Michael Albinus [Mon, 31 Dec 2018 11:18:41 +0000 (12:18 +0100)]
Precise documentation of Tramp ad-hoc proxies
* doc/misc/tramp.texi (Ad-hoc multi-hops): Remove superfluous
first entry about %h and %u. Describe, how to remove ad-hoc proxy
definitions.
(Cleanup remote connections): Mention, that also ad-hoc proxy
definitions are removed.
* etc/NEWS: Mention default host names in Tramp ad-hoc proxies.
Michael Albinus [Mon, 31 Dec 2018 10:38:56 +0000 (11:38 +0100)]
* lisp/files.el (locate-file, files--splice-dirname-file): Fix docstring.
Paul Eggert [Mon, 31 Dec 2018 03:00:09 +0000 (19:00 -0800)]
Fix assertion-violations on non-integers
These bugs were introduced after bignums were added.
* src/data.c (cons_to_unsigned, cons_to_signed):
* src/xdisp.c (calc_line_height_property):
Invoke integer_to_intmax and integer_to_uintmax only on integers.
Glenn Morris [Mon, 31 Dec 2018 01:02:40 +0000 (17:02 -0800)]
Merge from origin/emacs-26
82c82b1 (origin/emacs-26) In user manual fix value of default frame h...
2e8825d Improve documentation of 'file-local-name' and related APIs
11f0635 ; Remove comment in esh-proc.el
# Conflicts:
# lisp/simple.el
Glenn Morris [Mon, 31 Dec 2018 00:57:36 +0000 (16:57 -0800)]
; Merge from origin/emacs-26
The following commits were skipped:
3c83c9e Fix Bug#31704. Do not merge
de7644d Fix Bug#31704. Do not merge
Glenn Morris [Mon, 31 Dec 2018 00:57:36 +0000 (16:57 -0800)]
Merge from origin/emacs-26
3abebeb * lisp/files.el (cd): Fix last change. (Bug#33791)
7a60a4f Fix remote directories in Eshell on MS-Windows
822a2d0 Fix :type 'group' in defcustom
a731c56 Fix NS fringe bitmap drawing bug (bug#33864)
0c52459 Fix commentary in dispnew.c
c9fdd1b Improve accept-process-process doc
9578c2a Fix a simple bug in display-buffer-use-some-frame
0f9be72 Clarify thread switching while waiting for process output
24ddea0 Improve process doc. with respect to handling of large input ...
2931016 ; Cosmetic changes in etc/NEWS
85516b8 Minor copyedits in landmark.el
# Conflicts:
# etc/NEWS
Alan Mackenzie [Sun, 30 Dec 2018 18:38:36 +0000 (18:38 +0000)]
CC Mode - use font-lock-comment-delimiter-face on block comment end delimiters
In particular when the default comment type is currently line comments. Do
this by setting font-lock-comment-end-skip.
* lisp/progmodes/cc-cmds.el (c-font-lock-comment-end-skip): New lang const.
(font-lock-comment-end-skip): New c-lang-setvar.
Martin Rudalics [Sun, 30 Dec 2018 14:47:16 +0000 (15:47 +0100)]
Handle 'unbound' like nil for 'window-point-insertion-type' (Bug#33871)
* src/window.c (save_window_save): When setting the marker
insertion type of saved window points treat a buffer local
value of 'unbound' for 'window-point-insertion-type' like
nil (Bug#33871).
Martin Rudalics [Sun, 30 Dec 2018 14:21:50 +0000 (15:21 +0100)]
In user manual fix value of default frame height (Bug#33921)
* doc/emacs/cmdargs.texi (Window Size X): Fix value of default
frame height (Bug#33921).
Dmitry Gutov [Sat, 29 Dec 2018 17:06:24 +0000 (20:06 +0300)]
Skip 'basic' completion style for project-find-file
* lisp/minibuffer.el (completion-category-defaults): Skip 'basic'
for 'project-file', in order not to prefer files at the top of the
directory tree.
Eli Zaretskii [Sat, 29 Dec 2018 15:34:57 +0000 (17:34 +0200)]
Improve documentation of 'file-local-name' and related APIs
* doc/lispref/files.texi (Unique File Names)
(Magic File Names, File Name Expansion): Improve documentation
of the "local part" of a remote file name.
* doc/lispref/processes.texi (Synchronous Processes)
(Asynchronous Processes): State explicitly that program and
file names passed to functions that start remote processes
need to be relative or obtained by 'file-local-name'.
* lisp/files.el (file-local-name):
* lisp/simple.el (start-file-process, process-file): Improve
the documentation of the "local part" of a remote file name,
and its use in APIs that start remote processes.
Mattias Engdegård [Sat, 29 Dec 2018 10:09:27 +0000 (11:09 +0100)]
Handle raw bytes, and LF in ranges, in rx `any' argument strings
* lisp/emacs-lisp/rx.el (rx-check-any-string): Rewrite to handle raw bytes
in unibyte strings and accept LF as range endpoints (Bug#33205).
* test/lisp/emacs-lisp/rx-tests.el: Add tests for the above.